/*
 * @Author: ZhanXie
 * @Date: 2020-02-05 15:10:01
 * @LastEditors: ZhanXie
 * @LastEditTime: 2020-03-01 15:48:03
 * @Description: 对 request 中的 `data` 做一层转换
 * @FilePath: \projectStudy\ts-axios\src\helpers\data.ts
 */
import { isPlainObject } from './util'

/**
 * post 请求数据处理: 如果是对象类型的话需要序列化
 * @param data 请求数据
 */
export function transformRequest(data: any): any {
  if (isPlainObject(data)) {
    return JSON.stringify(data)
  }
  return data
}

/**
 * 响应数据处理: 如果是字符串类型的话需要反序列化 
 * @param data 响应数据
 */
export function transformResponse(data: any): any {
  if (typeof data === 'string') {
    try {
      data = JSON.parse(data)
    } catch (error) {
      console.log(error)
    }
  }
  return data
}
